package com.itheima.advantagesup.controller;

import com.itheima.advantagesup.common.R;
import com.itheima.advantagesup.dto.YddTagDTO;
import com.itheima.advantagesup.service.YddTagService;
import com.itheima.advantagesup.vo.TagVO;
import com.itheima.advantagesup.vo.YddTagPageBeanVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Slf4j
@RequestMapping("/ydd_tag")
@RestController
public class YddTagController {
    @Autowired
    public YddTagService yddTagService;

    @GetMapping("/all")
    public R all() {
        log.info("查询所有数据");
        List<TagVO> list = yddTagService.all();
        return R.success(list);
    }

    @GetMapping("/list")
    public R list(String tagname, Integer page, Integer limit) {
        log.info("分页查询");
        YddTagPageBeanVO yddTagPageBeanVO = yddTagService.list(tagname, page, limit);
        return R.success(yddTagPageBeanVO);
    }

    @PostMapping("/add")
    public R add(@RequestBody YddTagDTO yddTagDTO) {
        log.info("添加标签:{}", yddTagDTO);
        yddTagService.add(yddTagDTO);
        return R.success();
    }

    @GetMapping("/del")
    public R delete(String id) {
        log.info("根据id删除标签:{}",id);
        yddTagService.delete(id);
        return R.success();
    }

    @GetMapping("/rowInfo")
    public R getTagById(String id) {
        log.info("根据id查询标签:{}",id);
        TagVO tagVO = yddTagService.getTagById(id);
        return R.success(tagVO);
    }

    @PostMapping("/update")
    public R update(@RequestBody YddTagDTO yddTagDTO) {
        log.info("根据id删除标签:{}",yddTagDTO);
        yddTagService.update(yddTagDTO);
        return R.success();
    }
}
